import {createRouter, createWebHashHistory} from "vue-router";
import login from "@/views/login/index.vue";
import home from "@/views/home/index.vue";

const router = createRouter({
    history: createWebHashHistory(),
    routes: [
        {
            path: "/",
            redirect: "/home",
        },
        {
            path: "/home",
            name: "home",
            component: home,
            meta: {requiresAuth: true} // 首页需要登录

        },
        {
            path: "/login",
            name: "login",
            component: login,
            meta: {requiresAuth: false} // 登录页不需要登录（公开）
        }
    ],
});

// 全局前置守卫
router.beforeEach((to, from, next) => {
    // 1. 获取用户登录状态（从 Pinia/Vuex/本地存储中获取）
    const userStore = useUserStore() // Pinia 示例
    const isLoggedIn = !!userStore.token // 假设 token 存在即视为登录

    // 2. 判断目标路由是否需要登录
    if (to.meta.requiresAuth) {
        // 3. 需要登录：已登录则放行，未登录则跳转至登录页
        if (isLoggedIn) {
            next() // 放行
        } else {
            // 记录当前跳转的路径，登录后可自动跳回（可选）
            next({name: 'login', query: {redirect: to.fullPath}})
        }
    } else {
        // 4. 不需要登录：直接放行（如登录页、注册页）
        next()
    }
})

function useUserStore() {
    return {
        token: true
    }
}

export default router;
